/**
 * 动态导入
 * 1. 动态导入可以把导入的代码加入到流控制控制语句中
 * 2. 动态导入可以实现按需加载，只有在需要的时候才加载代码，可以减少代码体积
 * 3. 赋值操作
 * 4. 动态导入可以实现异步加载
 * 5. 
 */
// 动态导⼊一：await import()
// const school = await import('./04.allimport.js');

// console.log(school.name)
// console.log(school.default())
// console.log(school.slogan);

if (true) {
  // 动态导入可以把导入的代码加入到流控制控制语句中
  const school = await import('./04.allimport.js');

  console.log(school.name)
  console.log(school.default())
  console.log(school.slogan);

}


// 动态导入二：import()函数 + .then
// const main = document.querySelector('main');

// import(`./section-modules/${someVariable}.js`)
//   .then(module => {
//     module.loadPageInto(main);
//   })
//   .catch(err => {
//     main.textContent = err.message;
//   });


// 错误示范：import不能放在if语句中，要放在代码块的顶层
// if (true) {
//   // 以下语法报错：导入声明只能在模块的顶层使用。ts(1473)
//   import getTel, { name as username, slogan } from './04.allimport.js'
//   console.log(getTel());
//   console.log(username, slogan);
// }







